package org.breezeiot.protodecode.dataobject;

import com.alibaba.fastjson.annotation.JSONField;

import java.io.Serializable;
import java.util.Date;

/**
 * data_water_extend
 * @author 
 */
public class DataWaterExtend extends DataWaterExtendKey implements Serializable {
    /**
     * 传感器信号强度A
     */
    private Short sensorSignalStrengthA;

    /**
     * 传感器信号强度B
     */
    private Short sensorSignalStrengthB;

    /**
     * 温度
     */
    private Short temperature;

    /**
     * 电池电压
     */
    private Float voltage;

    /**
     * 信号指示是指基站信号的 CSQ 值
     */
    private Short baseCsq;

    /**
     * 信号强度是指 NB 网络信号的强度 RSRP 值
     */
    private Short rsrp;

    /**
     * 信号质量是指 NB 网络信号接收的质量 RSRQ 值
     */
    private Short rsrq;

    /**
     * 信噪比是指 NB 网络信号与噪声的比例值 SNR
     */
    private Short snr;

    /**
     * 覆盖等级是指 NB 网络信号根据 RSRP 和 SNR 确定的 ECL 值
     */
    private Short ecl;

    /**
     * 基站 PCI 编号是指基站物理小区标识编号
     */
    private Short basePci;

    /**
     * NB 模组设备识别码是指存储在 NB 模组中的移动设备国际识别码，即 IMEI 码
     */
    private String imei;

    /**
     * USIM 卡识别码是指存储在 SIM 卡中的国际移动用户识别码，即 IMSI 码
     */
    private String imsi;

    /**
     * 累计上线成功次数
     */
    private Integer successCount;

    /**
     * 累计上线失败次数
     */
    private Integer failCount;

    /**
     * 告警信息
     */
    private String alarm;

    /**
     * 水表状态
     */
    private String status;

    /**
     * 硬件版本号
     */
    private String hardwareversion;

    /**
     * 软件版本号
     */
    private String softwareversion;

    /**
     * 添加时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date addTime;

    /**
     * 更新时间
     */
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 水表采集器的抄表数据上报中，表具状态和抄表状态
     */
    private Short meterStatus;
    private String meterReadingStatus;

    private String message;

    private static final long serialVersionUID = 1L;

    public Short getSensorSignalStrengthA() {
        return sensorSignalStrengthA;
    }

    public void setSensorSignalStrengthA(Short sensorSignalStrengthA) {
        this.sensorSignalStrengthA = sensorSignalStrengthA;
    }

    public Short getSensorSignalStrengthB() {
        return sensorSignalStrengthB;
    }

    public void setSensorSignalStrengthB(Short sensorSignalStrengthB) {
        this.sensorSignalStrengthB = sensorSignalStrengthB;
    }

    public Short getTemperature() {
        return temperature;
    }

    public void setTemperature(Short temperature) {
        this.temperature = temperature;
    }

    public Float getVoltage() {
        return voltage;
    }

    public void setVoltage(Float voltage) {
        this.voltage = voltage;
    }

    public Short getBaseCsq() {
        return baseCsq;
    }

    public void setBaseCsq(Short baseCsq) {
        this.baseCsq = baseCsq;
    }

    public Short getRsrp() {
        return rsrp;
    }

    public void setRsrp(Short rsrp) {
        this.rsrp = rsrp;
    }

    public Short getRsrq() {
        return rsrq;
    }

    public void setRsrq(Short rsrq) {
        this.rsrq = rsrq;
    }

    public Short getSnr() {
        return snr;
    }

    public void setSnr(Short snr) {
        this.snr = snr;
    }

    public Short getEcl() {
        return ecl;
    }

    public void setEcl(Short ecl) {
        this.ecl = ecl;
    }

    public Short getBasePci() {
        return basePci;
    }

    public void setBasePci(Short basePci) {
        this.basePci = basePci;
    }

    public String getImei() {
        return imei;
    }

    public void setImei(String imei) {
        this.imei = imei;
    }

    public String getImsi() {
        return imsi;
    }

    public void setImsi(String imsi) {
        this.imsi = imsi;
    }

    public Integer getSuccessCount() {
        return successCount;
    }

    public void setSuccessCount(Integer successCount) {
        this.successCount = successCount;
    }

    public Integer getFailCount() {
        return failCount;
    }

    public void setFailCount(Integer failCount) {
        this.failCount = failCount;
    }

    public String getAlarm() {
        return alarm;
    }

    public void setAlarm(String alarm) {
        this.alarm = alarm;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getHardwareversion() {
        return hardwareversion;
    }

    public void setHardwareversion(String hardwareversion) {
        this.hardwareversion = hardwareversion;
    }

    public String getSoftwareversion() {
        return softwareversion;
    }

    public void setSoftwareversion(String softwareversion) {
        this.softwareversion = softwareversion;
    }

    public Date getAddTime() {
        return addTime;
    }

    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public Short getMeterStatus() {
        return meterStatus;
    }

    public void setMeterStatus(Short meterStatus) {
        this.meterStatus = meterStatus;
    }

    public String getMeterReadingStatus() {
        return meterReadingStatus;
    }

    public void setMeterReadingStatus(String meterReadingStatus) {
        this.meterReadingStatus = meterReadingStatus;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }
}